1. Field of the Invention
The present invention relates generally to a computer network connection, and in particular, to a method, apparatus, and article of manufacture for dynamically determining a port number for use in a network connection.
2. Description of the Related Art
Computer use has proliferated and continues to expand as technological capabilities rapidly increase. Such technological capabilities include the ability for two or more computers on a network (e.g., the Internet or a local area network (LAN)) to communicate with each other. As part of the prior art communication process, the client and server must have some pre-existing knowledge (e.g., obtained from a third party) regarding information necessary to allow and support communication (e.g., an Internet Protocol (IP) address and port number). The need for such preexisting knowledge provides significant limitations and/or impossibilities in the ability to produce a product that connects computers automatically without the need for human intervention. To better understand these limitations, a description of the prior art methods for network communication is useful.
The industry standard mechanism for connecting two computers across a network connection is to use TCP/IP (transmission Control Protocol/Internet Protocol), a set of rules by which the software, on either side of the computer connection, conducts a conversation and sends and receives data. The side that initiates the connection is referred to as the client; the side that responds to the initiation is referred to as the server. The initiation process by the client relies on two basic TCP/IP rules: (1) the client must identify the other machine by name or address; and (2) the client must specify a number between 1 and 65,535.
It is that second requirement that is the source of the difficulty in the prior art. The number in question is called a “Port Number”, and there can be over sixty five thousand different port numbers on just one computer. The client must specify the right port number; otherwise the attempt to connect will fail. The issue that arises is how the client knows the correct port number. In the prior art, the client should/must know the number ahead of time, or should not attempt to connect.
This seemingly unworkable situation is commonplace and widely accepted as the basic operation of a TCP/IP client/server connection. FIG. 1 is a flow chart illustrating the prior art process for configuring a TCP/IP connection. At step 100, a person begins to install and configure the server software. During the configuration process, some arbitrary number is chosen by that person at step 102 and used thereafter by the server at step 104.
Once the server is configured through steps 100-104, the client may communicate with the server. To communicate with the server, the client learns the arbitrary number at step 106. Anyone attempting to connect to the server would have learned of the number by (a) receiving a memo or email; (b) reading a centrally located document; or (c) asking a friend, co-worker, or person responsible for the server. Such requirements would make it nearly impossible to produce client/server products that connect automatically without need for human intervention. Once the client learns of the number at step 106, the number can be used to connect and communicate with the server at step 108.
Accordingly, in the prior art, to support communication with a server, the client must be informed of a port number of the server. Once the port number is obtained, the client is configured to communicate with the server through the port number. Thus, the prior art is hindered by the inconvenience and disadvantage of human intervention whenever network communication is desired.